package com.fjwt.gz.db.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import java.io.Serializable;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * ACTE017越减越便宜活动--用户参与记录明细
 * </p>
 *
 * @author shiyonghao
 * @since 2025-07-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_stat_acte017_record")
public class StatActe017RecordEntity implements Serializable {

    public static LambdaQueryWrapper<StatActe017RecordEntity> gw(){
        return new LambdaQueryWrapper<>();
    }

    private Long acte017RecordId;

    /**
     * 用户ID
     */
    private Long fansId;

    /**
     * 应用appid
     */
    private String liteAppId;

    /**
     * 活动ID
     */
    private Long activityId;

    /**
     * 统计截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date statDate;

    /**
     * 实名认证唯一标识
     */
    private String cstmNo;

    /**
     * 实名认证姓名
     */
    private String cstmName;

    /**
     * 实名认证时间(fans_auth表时间)
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cstmTime;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 首次领取A券的时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstJoinTime;

    /**
     * 首次领取A券的核销时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstWriteTime;

    /**
     * 首次领取A券的奖品状态
0：未使用  
1：已使用(券)/已领用(实物)/已发放(虚拟) 
2：已过期 
3：待激活(券)/待领用(实物) 
4：已失效 /发放失败(虚拟) 
5：已对账
6：发放中（针对虚拟商品--直冲）
     */
    private Integer firstState;

    /**
     * 首次领取A券的渠道码(根据channel_type判断  0：网点号-员工编号 1：机构号-商户号 2：机构号 3：网点号-自建渠道号)
     */
    private String firstChannelCode;

    /**
     * 首次领取A券的渠道名称
     */
    private String firstChannelName;

    /**
     * A奖品真实领取数量
     */
    private Integer aGetNum;

    /**
     * B1奖品发放数量
     */
    private Integer b1SendNum;

    /**
     * B1奖品真实领取数量
     */
    private Integer b1GetNum;

    /**
     * B2奖品真实领取数量
     */
    private Integer b2GetNum;

    /**
     * B3奖品发放数量
     */
    private Integer b3SendNum;

    /**
     * B3奖品真实领取数量
     */
    private Integer b3GetNum;

    /**
     * C奖品发放数量
     */
    private Integer cSendNum;

    /**
     * C奖品真实领取数量
     */
    private Integer cGetNum;

    /**
     * D奖品发放数量
     */
    private Integer dSendNum;

    /**
     * D奖品真实领取数量
     */
    private Integer dGetNum;

    /**
     * 入链渠道机构ID4
     */
    private String channelAgentNo4;

    /**
     * 入链渠道代理商名称4
     */
    private String channelAgentName4;

    /**
     * 入链渠道机构ID3
     */
    private String channelAgentNo3;

    /**
     * 入链渠道代理商名称3
     */
    private String channelAgentName3;

    /**
     * 入链渠道机构ID2
     */
    private String channelAgentNo2;

    /**
     * 入链渠道代理商名称2
     */
    private String channelAgentName2;

    /**
     * 入链渠道机构ID1
     */
    private String channelAgentNo1;

    /**
     * 入链渠道代理商名称1
     */
    private String channelAgentName1;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;


}
